package com.example.demo.BookService.impl;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.commom.Result;
import com.example.demo.entity.User;

import java.util.List;

public interface UserService {

    /**
     * 用户注册
     * @param user
     * @return
     */
    Result<?> insert(User user);

    /**
     * 用户登录
     * @param user
     * @return
     */
    Result<?> userLogin(User user);

    /**
     * 设置默认密码
     * @param user
     */
    void setDefaultPassword(User user);

    /**
     * 修改密码
     * @param id
     * @param password2
     */
    void setPassword(Integer id, String password2);

    /**
     * 修改读者个人信息
     * @param user
     */
    void updateById(User user);

    /**
     * 根据id删除读者用户
     * @param ids
     */
    void deleteBatchIds(List<Integer> ids);

    /**
     * 根据id删除用户
     * @param id
     */
    void deleteById(Long id);

    /**
     * 根据用户昵称分页查询
     * @param pageNum
     * @param pageSize
     * @param search
     * @return
     */
    Page<User> findPage1(Integer pageNum, Integer pageSize, String search);

    /**
     * 管理员分页查询和条件查询读者用户信息
     * 只查询身份为读者的账号，不查询管理员的账号
     * @param pageNum
     * @param pageSize
     * @param search1
     * @param search2
     * @param search3
     * @param search4
     * @return
     */
    Page<User> findPage2(Integer pageNum, Integer pageSize, String search1, String search2, String search3, String search4);
}
